#pragma once
#include "pw_async2/coro.h"
#include "pw_async2/pend_func_task.h"
#include "pw_async2/poll.h"
#include "pw_async2/waker.h"
#include "pw_result/result.h"
#include <tuple>


#include "pw_async2/join.h"

namespace coro {
template <typename... TPendables>
auto WhenAll(TPendables &&...pendables) -> pw::async2::Join<TPendables...> {
  return pw::async2::Join<TPendables...>{
      std::forward<TPendables>(pendables)...};
}
}